perm filename NAIVE[W77,JMC] blob
sn#267113 filedate 1977-03-02 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .require "memo.pub[let,jmc]" source
C00009 00003 .skip 1
C00010 ENDMK
Cā;
.require "memo.pub[let,jmc]" source;
.turn off "{"
.cb A SOPHISTICATED THEORY OF NAIVE LANGUAGE
Referential opacity has been much studied by philosophers,
more recently by linguists, and must be handled correctly by
AI. Several approaches have been proposed. Some make %3knows%1
a modal operator, some use a concept of possible worlds, some
propose to make the operand of %3knows%1 a sentence or a term,
and in (McCarthy 1977), I introduced a first order treatment of
individual concepts.
All these approaches are rather sophisticated. Distinctions
are carefully made, and the ontology is carefully investigated. Yet
ordinary people use the language of knowledge without noticing the
distinctions unless it somehow comes to their attention.
Consider the sentences
%2"John has the key
to the safe"%1 and %2"John has the combination to the safe"%1.
They seem quite parallel. Either can be used to deduce that John
can open the safe. However, since Frege (1879), it has been
necessary to treat them differently. For example, if they key
to the safe is the same as the key to Mike's house, then it follows
from John having the key to Mike's house that he has the key to the safe.
We need only substitute the equation
!!a1: %2key(Safe) = key(house(John))%1
into the sentence
!!a2: %2has(John,key(house(Mike)))%1.
On the other hand, if
!!a3: %2combination(Safe) = address(Mike)%1,
we cannot go from
!!a4: %2has(John,address(Mike))%1
to
!!a5: %2has(John,combination(Safe))%1
since John may not know that ({eq a3}).
Many people, perhaps most, don't notice the distinction between
the two sentences until it is pointed out, because for many purposes
the distinction is unnecessary. The object of this paper is to
introduce a formalism in which the distinction is not a basic fact of
the semantics of sentences, but a contingent fact expressible by axioms.
We shall use unmodified first order logic and the essential idea is
to make all contexts effectively opaque by allowing very few equalities.
The %2safe%1 example is typical. The notation is as above, but
we drop equations ({eq a1}) and ({eq a3}), replacing them by
!!a6: %2key(Safe) ~ key(house(Mike))%1
and
!!a7: %2combination(Safe) ~ address(Mike)%1,
respectively, where ~ is an equivalence relation weaker than equality.
.skip 1
.begin verbatim
John McCarthy
Artificial Intelligence Laboratory
Computer Science Department
Stanford University
Stanford, California 94305
ARPANET: MCCARTHY@SU-AI
.end
.turn on "{"
%7This draft of
PUBbed at {time} on {date}.%1